The present invention is directed to memory in computer systems. More particularly, the present invention is directed to management of fixed length memory block pools.
A typical computer system includes a processor, operating system, and memory. The memory typically includes banks of random access memory (xe2x80x9cRAMxe2x80x9d), read only memory (xe2x80x9cROMxe2x80x9d), and hard drive storage. Most systems also include software or firmware to efficiently manage dynamic use of some of the memory, especially the RAM.
Memory in many computer systems is allocated in fixed-length blocks, to avoid issues of memory fragmentation and garbage collection. However, using fixed-length blocks requires that some memory be set aside to track which blocks have been allocated and which have not. The set aside memory is overhead and cannot be used for ordinary tasks, and thus reduces the amount of memory available for the computer system.
Based on the foregoing, there is a need for a method of managing memory that does not require some memory to be set aside, thus reducing overhead.